//
//  NetManager.h
//  优学荟管理系统
//
//  Created by 星道 on 17/6/26.
//  Copyright © 2017年 星道三好. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface NetManager : NSObject

/**
 Get请求，将参数放进Parms，根据Auth判断是否需要加入请求头,UrlStr不需要带前缀

 @param UrlStr 不带拼带的URL
 @param Auth 是否需要请求头
 @param Params 请求参数
 @param Success 成功回调
 @param Fail 失败回调

 */
+ (void)Get:(NSString *)UrlStr Auth:(BOOL)Auth Params:(NSDictionary *)Params Success:(void(^)(id Obj))Success Fail:(void(^)(NSError *Error))Fail;

/**
 POST请求，将参数放进Parms，根据Auth判断是否需要加入请求头,UrlStr不需要带前缀

 @param UrlStr 不带拼带的URL
 @param Auth 是否需要请求头
 @param Params 请求参数
 @param Success 成功回调
 @param Fail 失败回调

 */
+ (void)Post:(NSString *)UrlStr Auth:(BOOL)Auth Params:(NSDictionary *)Params Success:(void(^)(id Obj))Success Fail:(void(^)(NSError *Error))Fail;

/** 下载 */
+ (void)Down:(NSString *)UrlStr Auth:(BOOL)Auth Params:(NSDictionary *)Params completionHandler:(void (^)(NSURLResponse *response, NSURL *filePath, NSError *error))completionHandler;

/**
 图片上传

 @param url 图片上传地址
 @param Img 要上传的图片
 @param paraDic 其他参数
 @param success 成功回调
 @param fail 失败回调
 */
+ (void)UpdataImgWithURL:(NSString *)url Img:(UIImage *)Img parameter:(NSDictionary *)paraDic success:(void (^)(id obj))success fail:(void (^)(NSError *error))fail;

// 多张图片以及其他信息上传
+ (void)UpdataImgsWithURL:(NSString *)url imgs:(NSArray <UIImage *>*)imgs parameter:(NSDictionary *)paraDic Progress:(void (^)(NSProgress * uploadProgress))Progress success:(void (^)(id  obj))success fail:(void (^)(NSError *error))fail;

/**
 音频上传

 @param url 上传地址
 @param FilePath 音频文件地址
 @param paraDic 其他参数
 @param success 成功回调
 @param fail 失败回调
 */
+ (void)UpdataAudioWithURL:(NSString *)url FilePath:(NSString *)FilePath parameter:(NSDictionary *)paraDic success:(void (^)(id obj))success fail:(void (^)(NSError *error))fail;



+ (void)DownLoadFileWithUrlStr:(NSString *)UrlStr FileName:(NSString *)FileName Path:(NSString *)Path Progress:(void(^)(CGFloat))Progress Complete:(void(^)(NSString *FullPath,NSError *Err))Complete;


@end
